const path = require('path')
var prod = process.env.NODE_ENV === 'production'

module.exports = {
    wpyExt: '.wpy',
    eslint: true,
    cliLogs: !prod,
    build: {
        web: {
            htmlTemplate: path.join('src', 'index.template.html'),
            htmlOutput: path.join('web', 'index.html'),
            jsOutput: path.join('web', 'index.js')
        }
    },
    resolve: {
        alias: {
            counter: path.join(__dirname, 'src/component/counter'),
            '@': path.join(__dirname, 'src')
        },
        aliasFields: ['wepy', 'weapp'],
        modules: ['node_modules']
    },
    compilers: {
        less: {
            compress: prod
        },
        sass: {
            outputStyle: 'compressed'
        },
        pug: {
            engine: 'pug'
        },
        jade: {
            engine: 'pug',             // 默认为jade，如果需要使用pug或其它模板，就在此处设置
            options: {
                globalConfig: {          // 这个属性名字可以随便定义，只要在模板中使用相同的名字即可
                    imgUrlPrefix: ''
                }
            }
        },
        // postcss: {
        //     plugins: [
        //         cssnext({
        //             browsers: ['iOS 9', 'Android 4.4']
        //         })
        //     ]
        // },
        babel: {
            sourceMap: true,
            presets: [
                'env'
            ],
            plugins: [
                'transform-class-properties',
                'transform-decorators-legacy',
                'transform-object-rest-spread',
                'transform-export-extensions'
            ]
        }
    },
    plugins: {
    },
    appConfig: {
        noPromiseAPI: ['createSelectorQuery']
    }
}

if (prod) {
    // 压缩sass
    // module.exports.compilers['sass'] = {outputStyle: 'compressed'}

    // 压缩js
    module.exports.plugins = {
        uglifyjs: {
            filter: /\.js$/,
            config: {
            }
        },
        imagemin: {
            filter: /\.(jpg|png|jpeg)$/,
            config: {
                jpg: {
                    quality: 80
                },
                png: {
                    quality: 80
                }
            }
        }
    }
}
